package com.sxf.biz.customer.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sxf.auth.login.vo.SubjectDetailReq;
import com.sxf.biz.coordinator.vo.*;
import com.sxf.biz.customer.vo.*;
import com.sxf.biz.model.Project;
import com.sxf.core.db.page.Pagination;
import org.apache.ibatis.annotations.Param;

/**
 * @description: TODO
 * @Author Leo
 * @date 2024/3/1920:53
 */
public interface ProjectMapper extends BaseMapper<Project> {
    Pagination<ProjectListRes> getProjectListByPage(Pagination<ProjectListReq> objectPagination, @Param("req") ProjectListReq req);

    Pagination<ProjectListRes> getProjectListByPage4Op(Pagination<ProjectListReq> objectPagination, @Param("req") ProjectListReq req);


    Pagination<ProjectListRes> getProjectList4SubjectsByPage(Pagination<SubjectDetailReq> objectPagination,@Param("req") SubjectDetailReq req);

    /**
     * --------------临床协调段
     */
    Pagination<CoorProjectListRes> getProjectListByPage4Coor(Pagination<CoordinatorBaseReq> objectPagination, @Param("req") CoordinatorBaseReq req);
    Pagination<CoorProjectListRes> getProjectListByPage4Appr(Pagination<CoordinatorBaseReq> objectPagination, @Param("req") CoordinatorBaseReq req);

    CoorProjectDetailRes getProjectDetailByCooId(@Param("req") CoorProjectDetailReq req);

    Pagination<CenterListRes> getCenterListBinded2Project(Pagination<CoorProjectDetailReq> objectPagination, @Param("req") CoorProjectDetailReq req);

    Pagination<SubjectsListRes> getSubjectsListBinded2PrjCenter(Pagination<CoorSubjectListReq> objectPagination, @Param("req") CoorSubjectListReq req);

}
